package com.second.order.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.second.order.pojo.entity.OrderCost;
import com.second.order.pojo.entity.OrderRecord;
import com.second.order.pojo.vo.OrderRecordQueryVo;
import com.second.order.pojo.vo.OrderRecordVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * (OrderRecord)表数据库访问层
 *
 * @author lvyongqi
 * @since 2021-07-30 19:48:56
 */
public interface OrderRecordDao extends BaseMapper<OrderRecord> {

    /**
     * 查询所有的客户信息
     * @param recordQueryVo 模糊查询工具类
     * @return 所有数据
     */
    Page<OrderRecordVo> getAllOrderRecord(Page<OrderRecord> page,
                                          @Param("recordQueryVo") OrderRecordQueryVo recordQueryVo);

    /**
     * 获取订单的费用明细
     * @param costId 费用id
     * @return 费用明细数据
     */
    OrderCost getAllCostInfo(Integer costId);

    /**
     * 修改订单中的实际取车时间
     * @param orderNumber 订单编号
     * @return 修改结果
     */
    boolean updateActualPickTime(String orderNumber);

    /**
     * 修改订单中的实际还车时间
     * @param orderNumber 订单编号
     * @return 修改结果
     */
    boolean updateActualReturnTime(String orderNumber);

    /**
     * 根据会员id，查询所有的订单
     * @param clientId 会员id
     * @return 数据结果
     */
    List<OrderRecord> getOrderByClientId(Integer clientId);

    OrderRecord getOrderInfoByOrderId(Integer orderId);
}
